package com.example.demo.service;

import com.example.demo.entity.VO.chat.DialogueCriteriaVO;
import com.example.demo.entity.VO.chat.DialogueVO;
import com.example.demo.entity.VO.chat.MessageVO;

import java.util.List;

public interface DialogueService {
    /**
     * 获取一页bot
     * @param dialogueCriteriaVO dialogue筛选VO
     * @return
     */
    List<DialogueVO> batchGetDialogue(DialogueCriteriaVO dialogueCriteriaVO);

    /**
     * 重启对话
     *
     * @param botId
     * @param userId
     */
    void restartDialogue(Integer botId, Integer userId);

    /**
     * 用户向bot发送一条消息
     * @param messageVO 消息对象
     * @return 对话
     */
    DialogueVO sendMessage(MessageVO messageVO);

    /**
     * 用户更换一条对话的回答
     * @param dialogueId 对话的id
     * @return 更换回答后的对话
     */
    DialogueVO changeAnswer(Integer dialogueId);

    /**
     * 获取用户与该pet的对话数
     * @param petId
     * @param userId
     * @return 用户与该pet的对话数
     */
    Integer getDialogueAmount(Integer petId, Integer userId);

}
